package org.server.http.conf;

import java.util.Collection;

import org.task.setter.AbstractSetter;

/**
 * 服务器配置
 * 
 * @author Admin
 * 
 */
public class ServerConfig extends AbstractSetter {
	// 监听端口号
	private static int port = 9527;
	// 线程数量
	private static int threadSize = 5;
	// 服务器名称
	private static String serverName = "Jmhs";

	private ServerConfig() {
		super("conf/http-server.cnf", getInitData());
	}

	// 初始构造
	static {
		new ServerConfig();
	}

	private static String getInitData() {
		// TODO Auto-generated method stub
		StringBuilder sb = new StringBuilder();
		sb.append("#------配置需要重启生效-------#");
		sb.append("\r\n");
		sb.append("#服务器名称");
		sb.append("\r\n");
		sb.append("server-name=Jmhs");
		sb.append("\r\n");
		sb.append("#监听端口");
		sb.append("\r\n");
		sb.append("server-port=9527");
		sb.append("\r\n");
		sb.append("#最大线程数量");
		sb.append("\r\n");
		sb.append("thread-max=5");
		sb.append("\r\n");
		return sb.toString();
	}

	/**
	 * 服务器监听端口
	 * 
	 * @return
	 */
	public static int getPort() {
		return port;
	}

	/**
	 * 服务器最大允许线程
	 * 
	 * @return
	 */
	public static int getThreadSize() {
		return threadSize;
	}

	/**
	 * 服务器名称
	 * 
	 * @return
	 */
	public static String getServerName() {
		return serverName;
	}

	@Override
	public void update(Collection<String> list) {
		// TODO Auto-generated method stub
		for (String str : list) {
			int s = str.indexOf("=");
			String key = str.substring(0, s);
			String value = str.substring(s + 1);
			if ("server-name".equals(key)) {
				// 服务器名称
				serverName = value;
			} else if ("server-port".equals(key)) {
				// 监听端口
				port = Integer.parseInt(value);
			} else if ("thread-max".equals(key)) {
				// 最大线程数量
				threadSize = Integer.parseInt(value);
			}
		}
	}

}
